#pragma once
#include "feSolver.h"

class feCgSolver: public feSolver
{
	feMatrix *M;
	feVector *D;
	feVector *F;
	feVector *X;
	feVector *Z0;
	feVector *Z1;
	feVector *R;

public:
	feCgSolver();
	
	virtual void	BindData(feMatrix *iM, feVector *iF, feVector *iX0);
	virtual void	SetX0(feVector *iX0);
	virtual void	Iterate();
	virtual double	GetEps();
	virtual void	GetX(feVector *oX);

	~feCgSolver();
};
